/*
@STI LICENSE
(C) 2006-2008 Universit�t Innsbruck.

This file is part of myOntology.

myOntologyis free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

myOntologyis distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with myOntology.  If not, see <http://www.gnu.org/licenses/>.

@STI LICENSE */
/**
 * 
 */
package org.myontology.users;

import static model.Vocabulary.HASEMAIL;
import static model.Vocabulary.HASPROFILES;
import static model.Vocabulary.HASPWD;
import static model.Vocabulary.HASSKYPE;
import static model.Vocabulary.USER;
import static org.myontology.model.Relation.ONE_TO_MANY;
import static org.myontology.model.Relation.ONE_TO_ONE;
import static org.myontology.model.Type.CLASS_PROPERTY;
import static org.myontology.model.Type.LITERAL;
import model.Vocabulary;

import org.myontology.model.Property;
import org.myontology.model.Subject;
import org.myontology.model.validators.NonEmptyValidator;
import org.myontology.view.items.PasswordValidator;
/**
 *  @author <a href="michael.hackl@sti2.at">Michael Hackl</a>
 * Project: Myontology - www.myontology.org
 * STI
 */
public class User extends Subject {

	public User() {
		super(USER);
		setNamespace(Vocabulary.USER_NAMESPACE);
		init();
	}
	public Property id = new Property(null,"label.username","description.username",ONE_TO_ONE,LITERAL,new NonEmptyValidator());
//	public Property firstName = new Property(HASFIRSTNAME,"label.firstname","description.firstname",ONE_TO_ONE,LITERAL,new NonEmptyValidator());
//	public Property lastName = new Property(HASLASTNAME,"label.lastname","description.lastname",ONE_TO_ONE,LITERAL,new NonEmptyValidator());
//	public Property address = new Property(HASADDRESS,"label.address","description.address",ONE_TO_ONE,LITERAL,new NonEmptyValidator());
	public Property pwd = new Property(HASPWD,"label.pwd","description.pwd",ONE_TO_ONE,LITERAL,new PasswordValidator());
	public Property email = new Property(HASEMAIL,"label.email","description.email",ONE_TO_ONE,LITERAL,new NonEmptyValidator());
	public Property skype = new Property(HASSKYPE,"label.skype","description.skype",ONE_TO_ONE,LITERAL);
	public Property profiles = new Property(HASPROFILES,"label.profiles","description.profiles",ONE_TO_MANY,CLASS_PROPERTY);
//	public Property picture = new Property(HASPICTURE,"label.picture","description.picture",ONE_TO_ONE,LITERAL);
//	public Property gender = new Property(HASGENDER,"label.gender","description.gender",ONE_TO_ONE,LITERAL,new NonEmptyValidator());
//	public Property nationality = new Property(HASNATIONALITY,"label.nationality","description.nationality",ONE_TO_ONE,LITERAL,new NonEmptyValidator());
//	public Property languages = new Property(HASLANGUAGES,"label.languages","description.languages",ONE_TO_MANY,LITERAL);
	
	
	
}
